package entidades;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumn;
import javax.persistence.CascadeType;

@Entity
@Table(name = "turma")
@SequenceGenerator(name="turma_seq", sequenceName="turma_id_turma_seq",allocationSize=1)
public class Turma {
	
	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "turma_seq")
	private int id_turma;
	private String descricao;
	private String horario;
	@Temporal(TemporalType.DATE)
	private Date data_inicio;
	@Temporal(TemporalType.DATE)
	private Date data_fim;
	private String plataforma;
	private String situacao;
	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="professor_turma")
	private Professor professor;
	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="telecentro_turma")
	private Telecentro telecentro;
	@ManyToOne(cascade=CascadeType.PERSIST)
	@JoinColumn(name="curso_turma")
	private Curso curso;
	
	public void setId_turma(int id_turma) {
		this.id_turma = id_turma;
	}
	public int getId_turma() {
		return id_turma;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setHorario(String horario) {
		this.horario = horario;
	}
	public String getHorario() {
		return horario;
	}
	public void setData_inicio(Date data_inicio) {
		this.data_inicio = data_inicio;
	}
	public Date getData_inicio() {
		return data_inicio;
	}
	public void setData_fim(Date data_fim) {
		this.data_fim = data_fim;
	}
	public Date getData_fim() {
		return data_fim;
	}
	public void setPlataforma(String plataforma) {
		this.plataforma = plataforma;
	}
	public String getPlataforma() {
		return plataforma;
	}
	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}
	public String getSituacao() {
		return situacao;
	}
	public void setProfessor(Professor professor) {
		this.professor = professor;
	}
	public Professor getProfessor() {
		return professor;
	}
	public void setCurso(Curso curso) {
		this.curso = curso;
	}
	public Curso getCurso() {
		return curso;
	}
	public void setTelecentro(Telecentro telecentro) {
		this.telecentro = telecentro;
	}
	public Telecentro getTelecentro() {
		return telecentro;
	}
}
